fix: update PyPI release workflow to trigger independently of crates.io workflow#2715
fix: update PyPI release workflow to trigger independently of crates.io workflow#2715dannycjones wants to merge 4 commits into
Conversation
…instead of workflow call
|
FYI @kevinjqliu @CTTY I'm hoping this is a mid-term fix for the PyPI trusted publishing. We're unblocked for 0.10.0-rc1 but for later releases, I'm hoping this simplifies things. If not, I think we need an update to the release guide to specifically call out the need for manual workflow dispatch to complete the PyPI RC publish. |
There was a problem hiding this comment.
Thanks for working on this!
What do you think about making release_python.yml standalone instead? It doesnt look like theres a need for release_python.yml to depend on publish.yml.
As long as both are using the same trigger, both can run independently and we'll produce the same artifacts.
I believe PyPi is already configured with release_python.yml, so no need to change that either (I'll double check this)
EDIT: yep, pypi is configured with release_python.yml already
Repository: apache/iceberg-rust
Workflow: release_python.yml
Environment name: pypi
I noticed we could do this too. My thinking is that we wouldn't want to release the Python bindings if the crate itself couldn't be released (although perhaps we think the same of the Python bindings too). I'm a little wary since we do not do a publish to crates.io until after RC, so if something goes wrong there, we've already published the Python bindings release. I don't have a strong preference, let me know what you think! |
ah, i think that's exactly why we (i?) added the dependency link originally 😄 i prefer to keep them separate and just manually fix/upload if |
OK, sounds good. I'll open an issue on publishing pre-release artifacts as I believe that is supported by crates.io (the rc crate wouldn't be picked up unless explicitly asked for) and rework this PR to be independent of |
|
Applied the updates. @kevinjqliu I have disabled the skip existing flag as I'd like to flag when the RC will not be replaced. I'm hoping rebuilding the RC as rc n+1 is cheap enough before the vote. Let me know what you think. |
| with: | ||
| version: "0.9.3" | ||
| enable-cache: true | ||
| enable-cache: false # Do not use cache for release artifacts |
There was a problem hiding this comment.
switching to tags flagged this as a risk. I think its fine to turn off the cache here.
Which issue does this PR close?
What changes are included in this PR?
This change updates PyPI publishing to trigger independently of crates.io workflow.
This does mean that PyPI artifacts will still be published if there is an issue with the crates workflow. This is considered an OK tradeoff for now, given we cannot reuse workflows and RCs should catch issues with publishing ahead of an official release.
Are these changes tested?
No. I did not find a good way to dry-run test the workflow, so I do not have any PyPI equivalent to this: #2705